Updates to Windows CI#561
Conversation
While a new release is pending, it seems worthwhile to make use of the caching as soon as possible to speed up Windows CI.
While caching speeds up the Windows builds, allocating an available runner takes some time (especially for many pushes in a short time). Thus we only build PHP 8.4 x64,zts, which should already suffice to detect most issues.
windows.php.net is in the process of being replaced by downloads.php.net, so we switch right away.
Using libmemcached-vs16 instead should be fine.
| - name: Fetch libmemcached | ||
| run: curl -OLs https://windows.php.net/downloads/pecl/deps/libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip && 7z x libmemcached-1.1.1-${{steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip -o..\deps | ||
| run: | | ||
| set MEMCACHED_FILENAME=libmemcached-1.1.1-${{steps.setup-php.outputs.vs == 'vs17' && 'vs16' || steps.setup-php.outputs.vs}}-${{matrix.arch}}.zip |
There was a problem hiding this comment.
Why 1.1.1 from 2021?
libmemcached is currently at 1.1.4 which actually contains a fix for a possible security issue.
I totally understand, though, if the answer is obviously manpower, etc...
There was a problem hiding this comment.
Why 1.1.1 from 2021?
Must be one of the more recent dependency builds. Anyhow, let's see how https://github.com/winlibs/winlib-builder/actions/runs/11332741118 goes.
There was a problem hiding this comment.
Looks like I'll have to revert awesomized/libmemcached@1a15a08 to get back to PHP Windows naming conventions.
There was a problem hiding this comment.
That commit looks like a fix to not end up with liblibfoo.a
What's the exact problem on your side?
I guess we could fix both sides if we get rid of the ALIAS shenanigans.
There was a problem hiding this comment.
Without the patch, on Windows memcached.lib is built; with the fix it's libmemcached.lib. The former is probably common on Windows, but the latter is the PHP convention for import libraries (would be libmemcached_a.lib for static libs). If you "fix" this, others building the library might not get the library names they want/expect.
Anyway, applying a patch is not hard, and the build was successful. I've built ext/memcached locally successfully against libmemcached 1.1.4.
The actual problems are lack of automation of doing and testing dependency builds, and of course, that we can hardly watch for new dependency releases (way too many packages). And some packages need way more heavy patching anyway.
Now, someone needs to upload the libmemcached-1.1.4 builds to the download server. Maybe @shivammathur is in the mood. :)
|
Also, the 3.3.0RC1 DLL links on PECL seem broken, is this a fix for this, too? |
The URL is https://downloads.php.net/~windows/pecl/releases/memcached/3.3.0RC1/php_memcached-3.3.0rc1-8.3-ts-vs16-x64.zip, but should be https://downloads.php.net/~windows/pecl/releases/memcached/3.3.0RC1/php_memcached-3.3.0RC1-8.3-ts-vs16-x64.zip (note lower-case vs. upper-case "RC"). |
We
the latest commitv0.10 of php/setup-php-sdk